package main

import (
	"fmt"
	"time"
)

// week 表示一周的纳秒数。
var week time.Duration

func main() {
	// 获取当前时间并打印。
	t := time.Now()
	fmt.Println(t)

	// 格式化并打印当前日期，格式为“日.月.年”。
	fmt.Printf("%02d.%02d.%4d\\n", t.Day(), t.Month(), t.Year())

	// 切换到UTC时间并打印。
	t = time.Now().UTC()
	fmt.Println(t)

	// 打印本地时间。
	fmt.Println(time.Now())

	// 计算一周的纳秒数。
	week = 60 * 60 * 24 * 7 * 1e9

	// 在当前UTC时间上加上一周，并打印。
	week_from_now := t.Add(time.Duration(week))
	fmt.Println(week_from_now)

	// 格式化并打印当前时间，格式为RFC822。
	fmt.Println(t.Format(time.RFC822))

	// 格式化并打印当前时间，格式为ANSIC。
	fmt.Println(t.Format(time.ANSIC))

	// 格式化并打印当前时间，格式为“日 月 年 时:分”。
	fmt.Println(t.Format("02 Jan 2006 15:04"))

	// 格式化当前时间，格式为“年月日”，并打印。
	s := t.Format("20060102")
	fmt.Println(t, "=>", s)
}
